/******************************************************************************
 * Copyright (C) 2010 ShenZhen ComTop Information Technology Co.,Ltd
 * All Rights Reserved.
 * 本软件为深圳康拓普开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、
 * 复制、修改或发布本软件.
 *****************************************************************************/

package com.code.common.mq;

import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import com.code.common.systeminit.EnviromentInfo;

/**
 * 消息对象
 * 
 * @author 郑重
 * @since 1.0
 * @version 2010-12-1 郑重
 */
public class MessageData implements Serializable {
    
    /**
     * 发送方系统名称
     */
    private String systemName;
    
    /**
     * 消息名称
     */
    private String messageName;
    
    /**
     * 消息创建时间
     */
    private Date createTime;
    
    /**
     * 消息体内容
     */
    private Serializable content;
    
    /**
     * 构造函数
     */
    public MessageData() {
        createTime = new Date();
        systemName = EnviromentInfo.getGlobalConfig("systemName");
    }
    
    /**
     * @return 获取 systemName属性值
     */
    public String getSystemName() {
        return systemName;
    }
    
    /**
     * @param systemName 设置 systemName 属性值为参数值 systemName
     */
    public void setSystemName(String systemName) {
        this.systemName = systemName;
    }
    
    /**
     * @return 获取 messageName属性值
     */
    public String getMessageName() {
        return messageName;
    }
    
    /**
     * @param messageName 设置 messageName 属性值为参数值 messageName
     */
    public void setMessageName(String messageName) {
        this.messageName = messageName;
    }
    
    /**
     * @return 获取 createTime属性值
     */
    public Date getCreateTime() {
        return createTime;
    }
    
    /**
     * @param createTime 设置 createTime 属性值为参数值 createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    /**
     * @return 获取 content属性值
     */
    public Serializable getContent() {
        return content;
    }
    
    /**
     * @param content 设置 content 属性值为参数值 content
     */
    public void setContent(Serializable content) {
        this.content = content;
    }
    
    /**
     * 通用toString
     * 
     * @return toString
     */
    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
    }
}